CentOS 7.X 网络安全加固 Nginx 安装 ModSecurity 模块 |
您所在的位置:网站首页 › mod security功能 › CentOS 7.X 网络安全加固 Nginx 安装 ModSecurity 模块 |
一、ModSecurity简介
ModSecurity是一个开源的、跨平台的Web应用防火墙(WAF),被称为WAF界的“瑞士军刀”。它可以通过检查Web服务接收到的数据,以及发送出去的数据来对网站进行安全防护。 官网地址:http://www.modsecurity.cn/ SQL Injection (SQLi):阻止SQL注入 Cross Site Scripting (XSS):阻止跨站脚本攻击 Local File Inclusion (LFI):阻止利用本地文件包含漏洞进行攻击 Remote File Inclusione(RFI):阻止利用远程文件包含漏洞进行攻击 Remote Code Execution (RCE):阻止利用远程命令执行漏洞进行攻击 PHP Code Injectiod:阻止PHP代码注入 HTTP Protocol Violations:阻止违反HTTP协议的恶意访问 HTTPoxy:阻止利用远程代理感染漏洞进行攻击 Sshllshock:阻止利用Shellshock漏洞进行攻击 Session Fixation:阻止利用Session会话ID不变的漏洞进行攻击 Scanner Detection:阻止黑客扫描网站 Metadata/Error Leakages:阻止源代码/错误信息泄露 Project Honey Pot Blacklist:蜜罐项目黑名单 GeoIP Country Blocking:根据判断IP地址归属地来进行IP阻断 三、Nginx 安装 ModSecurity 1、安装依赖工具 yum install -y epel-release yum install -y readline-devel curl-devel gcc gcc-c++ python-devel lua-devel doxygen perl yajl-devel GeoIP-devel lmdb-devel ssdeep-devel flex bison autoconf automake 2、安装 ModSecurity 1)下载 ModSecurity在官网上下载 ModSecurity 3.0.4 (此处由于该测试服务器已安装有 Nginx,所以下载的同版本源码重新编译安装) 1)下载 ModSecurity-nginx从 https://github.com/SpiderLabs/ModSecurity-nginx 下载 ModSecurity-nginx-master.zip Nginx 常用命令如下: # 启动 Nginx systemctl start nginx # 停止 Nginx systemctl stop nginx # 重启 Nginx systemctl restart nginx # 查看 Nginx 状态 systemctl status nginx 5、配置 ModSecurity 安全规则 mkdir -p /etc/nginx/modsecurity/rules cp /usr/local/modsecurity/modsecurity.conf-recommended /etc/nginx/modsecurity/modsecurity.conf cp /usr/local/modsecurity/unicode.mapping /etc/nginx/modsecurity/ 6、下载规则文件压缩包 1)下载规则文件并解压 cd /usr/local/ wget http://www.modsecurity.cn/download/corerule/owasp-modsecurity-crs-3.3-dev.zip unzip owasp-modsecurity-crs-3.3-dev.zip cd owasp-modsecurity-crs-3.3-dev 2)复制配置文件复制 crs-setup.conf.example 到 /etc/nginx/modsecurity/ 目录下,并重命名为 crs-setup.conf cd /usr/local/owasp-modsecurity-crs-3.3-dev cp crs-setup.conf.example /etc/nginx/modsecurity/crs-setup.conf 3)复制策略规则将下载的策略规则包解压后的rules文件夹里面的所有规则,复制到/etc/nginx/modsecurity/rules/ 目录下。 cp -r rules/ /etc/nginx/modsecurity/最终得目录下面有如下文件和子目录 cd /etc/nginx/modsecurity/[root@localhost modsecurity]# pwd /etc/nginx/modsecurity [root@localhost modsecurity]# ls crs-setup.conf modsecurity.conf modsecurity.conf_bak20221205 rules unicode.mapping 同时修改 REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example 与 RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example 两个文件的文件名,将".example"删除,这两个文件用于自定义规则。 cd /etc/nginx/modsecurity/rules/ mv REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf mv RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf 4)编辑nginx.conf cd /etc/nginx/ vi nginx.conf在http或server节点中添加以下内容: (在http节点添加表示全局配置,在server节点添加表示为指定网站配置) 这里看具体需要,实际生产业务推荐写在server,这样方便控制。 modsecurity on; modsecurity_rules_file /etc/nginx/modsecurity/modsecurity.conf;配置效果如下: 将 SecRuleEngine DetectionOnly 改为 SecRuleEngine On 同时添加以下内容: Include /etc/nginx/modsecurity/crs-setup.conf Include /etc/nginx/modsecurity/rules/*.conf
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |